package com.index;

import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;

import twitter4j.Status;

import com.common.FIELDS;

/**
 * Esta clase basicamente tiene un solo metodo statico, que crea un Documento a
 * partir de un Status
 * 
 * @author $author$
 * @version $Revision$
 */
public class FileDocument {

	/**
	 * Este metodo devuelve un objeto Document a partir de un status(Tweet).
	 * Esto es necesario ya que el indexador indexa estos tipos de documentos
	 * 
	 * @param status
	 * 
	 * @return Document
	 */
	public static Document Document(Status status) {
		Document doc = new Document();

		// TODO supongo que esos paramatros Field.Store.YES y
		// Field.Index.ANALYZED son los correctos pero igual
		// hay que chequearlo.
		doc.add(new Field(FIELDS.USER.toString(), status.getUser().getName(),
				Field.Store.YES, Field.Index.ANALYZED));

		doc.add(new Field(FIELDS.TEXT.toString(), status.getText(),
				Field.Store.YES, Field.Index.ANALYZED));
		
		doc.add(new Field(FIELDS.TWEET_ID.toString(), Long.toString(status.getId()),
				Field.Store.YES, Field.Index.ANALYZED));
		
		doc.add(new Field(FIELDS.LANGUAGE.toString(), status.getUser().getLang(),
				Field.Store.YES, Field.Index.ANALYZED));		
		
		return doc;
	}
}